import unittest
from unittestreport import ddt, yaml_data
from calculation import Calculation

@ddt
class TestDemo(unittest.TestCase):

    @yaml_data(r'.\caseData\addData.yaml')
    def test_add(self, data):
        value = Calculation().my_add(data.get('data').get('num1'), data.get('data').get('num2'))
        self.assertEqual(data.get('expect'), value)

    @yaml_data(r'.\caseData\reduceData.yaml')
    def test_reduce(self, data):
        value = Calculation().my_reduce(data.get('data').get('num1'), data.get('data').get('num2'))
        self.assertEqual(data.get('expect'), value)

    @yaml_data(r'.\caseData\rideData.yaml')
    def test_ride(self, data):
        value = Calculation().my_ride(data.get('data').get('num1'), data.get('data').get('num2'))
        self.assertEqual(data.get('expect'), value)

    @yaml_data(r'.\caseData\exceptData.yaml')
    def test_except(self, data):
        value = Calculation().my_except(data.get('data').get('num1'), data.get('data').get('num2'))
        self.assertEqual(data.get('expect'), value)

if __name__ == '__main__':
    unittest.main()